import { createRouter, createWebHistory } from 'vue-router'

const routes = [
  {
    path: '/',
    redirect: '/login',
  },
  {
    path: '/login',
    name: 'login',
    component: () => import('@/views/login.vue'),
  },
  {
    path: '/home',
    name: 'home',
    component: () => import('@/views/Home/index.vue'),
  },
]

const router = createRouter({
  history: createWebHistory(),
  routes,
  // 刷新时，滚动条位置还原
})

// 设置全局前置路由守卫
router.beforeEach((to, from, next) => {
  if (to.query?.token) {
    localStorage.setItem('itoken', to.query?.token)
  }
  const itoken = localStorage.getItem('itoken')
  // 判断要前往的路由是否是登录页
  if (to.name === 'login') {
    // 如果有itoken，阻止跳转到登录页，重定向到home页
    if (itoken) {
      next('/home')
    } else {
      // 如果没有itoken，正常放行去登录页
      next()
    }
  } else if (itoken) {
    // 如果有itoken且不是去登录页，正常放行去目标路由
    next()
  } else {
    // 如果没有itoken且不是去登录页，重定向到登录页
    next('/login')
  }
})

export default router
